SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[SP_TASALD_CORP_Q24]
/*---------------------------------------------------------------------*/    
/*----- Empresa          : OFISIS S.A.                            -----*/    
/*----- Cliente          : OFISIS S.A.                            -----*/    
/*----- Sistema          : Contabilidad                           -----*/    
/*----- Modulo           : Empresa                                -----*/    
/*----- Nombre           : SP_TASALD_CORP_Q24                  -----*/    
/*----- Script           : TASALD_CORP                            -----*/    
/*----- Desarrollado     : Betsy Sanchez Arenas                   -----*/    
/*----- Fecha            : 13/10/1997                             -----*/    
/*----- Base de Datos    : MS SQL Server                          -----*/    
/*----- Version BD       : 6.5                                    -----*/    
/*----- Invoca a SP      :                                        -----*/    
/*---------------------------------------------------------------------*/    
/*---------------------------------------------------------------------*/    
/*----- Modificado 1 por : Martin Garcia Farfan                   -----*/    
/*----- Fecha Modifica   : 12/03/1999                             -----*/    
/*----- Detalle Modifica : Estandarizacion                        -----*/    
/*---------------------------------------------------------------------*/    
/*---------------------------------------------------------------------*/    
/*----- Modificado 2 por : Yessica Morales Taipe                  -----*/    
/*----- Fecha Modifica   : 26/12/2000                             -----*/    
/*----- Detalle Modifica : Migracion a SQL 7.0                    -----*/    
/*---------------------------------------------------------------------*/    
/*---------------------------------------------------------------------*/    
/*----- Modificado 3 por : percy garcia                           -----*/    
/*----- Fecha Modifica   : 05/06/2004                             -----*/    
/*----- Detalle Modifica : usuario creacion y modif               -----*/    
/*---------------------------------------------------------------------*/    
/*---------------------------------------------------------------------*/    
/*----- Modificado 4 por : percy garcia                           -----*/    
/*----- Fecha Modifica   : 06/10/2004                             -----*/    
/*----- Detalle Modifica : SACA EL AUXILIAR CORPORATIVO           -----*/    
/*---------------------------------------------------------------------*/    
/*---------------------------------------------------------------------*/    
/*----- Drop Proc SP_TASALD_CORP_Q24                              -----*/    
/*----- Grant All On SP_TASALD_CORP_Q24 To PUBLIC                -----*/    
/*----- SP_TASALD_CORP_Q24 '01', 1,2000, 6                        -----*/    
/*---------------------------------------------------------------------*/    
 @ISCO_USUA         TD_VC_008,
 @IDFE_USUA         TD_DT_001,
 @ISCO_EMPR			TD_VC_002,     
 @INNU_CNTB_EMPR	TD_IN_001_CONT,     
 @INNU_ANNO			TD_IN_004_ANNO,      
 @INNU_MESE			TD_IN_002_MESE      
    
As    
 DECLARE     
 @CNNU_ANNO  TD_IN_004_ANNO,    
 @CNNU_MESE   TD_IN_002_MESE,    
 @CSCO_CNTB_EMPR TD_VC_010,    
 @CSTI_AUXI_EMPR TD_VC_001,    
 @CSCO_AUXI_EMPR TD_VC_020,    
 @CNTO_CARG_MESE TD_NU_016_004,    
 @CNTO_ABON_MESE TD_NU_016_004,    
 @CSCO_CNTA_CORP TD_VC_010,    
 @VNNV_INFO_EMPR INT,    
 @VSCO_CNTB_CORP TD_VC_010,    
 @VNTO_REGI   INT,    
 @VSPR_DATO  TD_VC_020    
    
 Select @VNNV_INFO_EMPR = Max(Datalength(Rtrim(CO_CNTA_EMPR)))    
   From TMPLAN_EMPR    
  Where CO_EMPR = @ISCO_EMPR    
  AND NU_ANNO = 9999    
      
 DECLARE CU_TASALD_CORP_Q03_1 CURSOR FOR    
  Select T1.NU_ANNO, T1.NU_MESE, T1.CO_CNTA_EMPR,     
  ISNULL(T1.TI_AUXI_EMPR,''), ISNULL(T3.CO_AUXI_CORP,''),    
  T1.IM_CARG_CNTB, T1.IM_ABON_CNTB , T2.CO_CNTA_CORP     
    From TASALD_EMPR T1 , TMPLAN_EMPR T2 , TMAUXI_EMPR T3    
   Where T1.CO_EMPR = @ISCO_EMPR    
     AND T1.NU_CNTB_EMPR = @INNU_CNTB_EMPR    
     and T1.NU_ANNO = @INNU_ANNO    
     and T1.NU_MESE <= @INNU_MESE    
     and Datalength(Rtrim(T1.CO_CNTA_EMPR)) = @VNNV_INFO_EMPR    
     AND T1.CO_EMPR =  T2.CO_EMPR    
     and T1.CO_CNTA_EMPR = T2.CO_CNTA_EMPR    
     AND T2.CO_CNTA_CORP IS NOT NULL    
     AND T2.NU_ANNO = 9999    
     AND T1.TI_AUXI_EMPR IS NOT NULL    
     AND T1.CO_AUXI_EMPR IS NOT NULL    
     AND T3.CO_EMPR      = T1.CO_EMPR    
     AND T3.TI_AUXI_EMPR  = T1.TI_AUXI_EMPR    
     AND T3.CO_AUXI_EMPR  = T1.CO_AUXI_EMPR    
     AND T3.CO_AUXI_CORP IS NOT NULL     

 Open CU_TASALD_CORP_Q03_1    
 Fetch CU_TASALD_CORP_Q03_1 into @CNNU_ANNO, @CNNU_MESE, @CSCO_CNTB_EMPR, @CSTI_AUXI_EMPR,    
     @CSCO_AUXI_EMPR, @CNTO_CARG_MESE, @CNTO_ABON_MESE,    
     @CSCO_CNTA_CORP    
 While @@Fetch_status = 0    
 Begin    
    
  Select @VNTO_REGI = 0    
  Select @VSPR_DATO  = replicate('0',@CNNU_MESE) + '1' + replicate('0',20-(@CNNU_MESE+1))    
    
  SELECT @VNTO_REGI = COUNT(*)     
  FROM TASALD_CORP    
  WHERE NU_ANNO      = @CNNU_ANNO    
    AND NU_MESE      = @CNNU_MESE    
    AND CO_CNTA_CORP = @CSCO_CNTA_CORP    
    AND TI_AUXI_CORP = @CSTI_AUXI_EMPR    
    AND CO_AUXI_CORP = @CSCO_AUXI_EMPR    
      
  IF @VNTO_REGI = 0    
   Begin    
    INSERT INTO TASALD_CORP(NU_ANNO, NU_MESE, CO_CNTA_CORP, TI_AUXI_CORP, CO_AUXI_CORP,    
       IM_CARG_MESE, IM_ABON_MESE, PR_DATO, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA)    
  VALUES (@CNNU_ANNO, @CNNU_MESE, @CSCO_CNTA_CORP, @CSTI_AUXI_EMPR,    
   @CSCO_AUXI_EMPR, 0, 0, @VSPR_DATO, @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA )    
   End    
    
  Update TASALD_CORP    
     Set IM_CARG_MESE = IM_CARG_MESE + @CNTO_CARG_MESE,    
  IM_ABON_MESE = IM_ABON_MESE + @CNTO_ABON_MESE    
   Where NU_ANNO = @CNNU_ANNO    
     and NU_MESE = @CNNU_MESE    
     and CO_CNTA_CORP = @CSCO_CNTA_CORP    
     and ISNULL(TI_AUXI_CORP,'') = ISNULL(@CSTI_AUXI_EMPR,'')    
     and ISNULL(CO_AUXI_CORP,'') = ISNULL(@CSCO_AUXI_EMPR,'')    
       
  Fetch CU_TASALD_CORP_Q03_1 into @CNNU_ANNO, @CNNU_MESE, @CSCO_CNTB_EMPR, @CSTI_AUXI_EMPR,    
      @CSCO_AUXI_EMPR, @CNTO_CARG_MESE, @CNTO_ABON_MESE,    
      @CSCO_CNTA_CORP    
    
 End    
 Close CU_TASALD_CORP_Q03_1    
 Deallocate CU_TASALD_CORP_Q03_1    
    
/*------------------------------- FIN -----------------------------------------*/  
  


GO
